package com.hc.service;

import com.hc.entity.Auth;
import java.util.List;
import java.util.Map;

import com.hc.utils.PageBean;
import com.hc.utils.PageParam;

public interface AuthService {
    int addAuth(Auth auth);

    int addAuthSelective(Auth auth);

    int batchAddAuth(List<Auth> authList);

    int deleteAuthById(Integer id);

	int deleteAuthByCondition(Auth auth);

    int batchDeleteAuthByIdList(List<Integer> idList);
	
    int updateAuth(Auth auth);

    int updateAuthSelective(Auth auth);

    long getCount();

    long getCountByCondition(Auth auth);

    Auth getAuthById(Integer id);

    List<Auth> getAllAuth();

	List<Auth> getAuthByCondition(Auth auth);
	
    PageBean<Auth> getAuthWithPagination(PageParam pageParam);

	PageBean<Auth> getAuthWithPaginationByCondition(PageParam pageParam, Auth auth);

    //////////////////////////// 外键相关 /////////////////////////////////////
    List<Auth> getAuthByParent(Integer parent);

    Map<Auth,List<Auth>> getAuthByRoleId(Integer roleId);

}